#include <memory>
#include <iostream>
using namespace std;
int main()
{
    // 显式的 new 可能带来错误的“手动内存管理”的错觉。因此标准库提供了 std::make_unique 辅助函数
    // std::unique_ptr<int> pa{new int{42}};
    std::unique_ptr<int> pa{std::make_unique<int>(42)};
    cout << *pa << endl;
    int n = 10;
    // 分配10个int的数组
    std::unique_ptr pb = std::make_unique<int[]>(10);
    for (int i = 0; i < n; ++i)
        pb[i] = i;
    for (int i = 0; i < n; ++i)
        cout << pb[i] << " ";
    cout << endl;
    return 0;
}
